<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        .wrap {
            width: 300px;
            margin: 100px auto 0;
        }

        table {
            border-collapse: collapse;
            border-spacing: 0;
            border: 1px solid #c0c0c0;
        }

        th, td {
            border: 1px solid #d0d0d0;
            color: #404060;
            padding: 10px;
        }

        th {
            background-color: #09c;
            font: bold 16px "微软雅黑";
            color: #fff;
        }

        td {
            font: 14px "微软雅黑";
        }

        tbody tr {
            background-color: #f0f0f0;
        }

        tbody tr:hover {
            cursor: pointer;
            background-color: #fafafa;
        }
    </style>
    <script src="js/jquery-1.12.2.min.js"></script>
    <script>
        $(function () {
            // 获取tbody中的所有复选框
            var $checkboxs = $("#j_tb").find(":checkbox");
            // 1. 全选和全不选
            $("#j_cbAll").click(function () {
                // 1.1 判断一下当前这个checkbox 是选中的还是不选中
                var isChecked = $("#j_cbAll").prop("checked");
                // console.log(isChecked);
                // 如果是选中，让所有的checkbox选中
                if (isChecked) {
                    // :checkbox 作用：获取到所有复选框
                    // var $checkboxs = $("#j_tb").find(":checkbox");
                    $checkboxs.prop("checked", true);
                } else {
                    // 如果是未选中，让所有的checkbox不选中
                    // var $checkboxs = $("#j_tb").find(":checkbox");
                    $checkboxs.prop("checked", false);
                }
            });
            // 2. 给tbody中所有 checkbox 绑定单击事件
            $checkboxs.click(function () {
                /*// 2.1 获取到所有的checkbox的个数
                 var allLen = $checkboxs.length;
                 // 2.2 获取到被选中的 checkbox 的个数
                 var checkedLen = $("#j_tb").find(":checkbox:checked").length;
                 // 2.3 比较这两个个数
                 if(allLen === checkedLen) {
                 // 如果相等，则 让全选checkbox选中
                 $("#j_cbAll").prop("checked", true);
                 } else {
                 // 否则， 让全选checkebox不选中
                 $("#j_cbAll").prop("checked", false);
                 }*/
                ($checkboxs.length === $("#j_tb").find(":checkbox:checked").length)
                        ? $("#j_cbAll").prop("checked", true)
                        : $("#j_cbAll").prop("checked", false);
            });
        });
    </script>
</head>
<body>
<div class="wrap">
    <table>
        <thead>
        <tr>
            <th>
                <input type="checkbox" id="j_cbAll"/>
            </th>
            <th>技术名称</th>
            <th>技术点</th>
        </tr>
        </thead>
        <tbody id="j_tb">
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>JavaScript</td>
            <td>js</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>css</td>
            <td>css</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>html</td>
            <td>css</td>
        </tr>
        <tr>
            <td>
                <input type="checkbox"/>
            </td>
            <td>jQuery</td>
            <td>jQ</td>
        </tr>
        <tr>
            <td><input type="checkbox"/></td>
            <td>HTML5</td>
            <td>h5</td>
        </tr>
        <tr>
            <td><input type="checkbox"/></td>
            <td>CSS3</td>
            <td>c3</td>
        </tr>
        </tbody>
    </table>
</div>
</body>
</html>
